package com.tsd.jxc.fin.dao;

import com.tsd.core.vo.PageBean;
import com.tsd.jxc.fin.entity.JxcFinancePaymentRequest;
import com.tsd.jxc.fin.entity.JxcFinancePaymentRequestExt;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 描述：JxcFinancePaymentRequestMapper
 *
 * @author Hillpool
 * @date 2023/02/09 18:00:21
 */
public interface JxcFinancePaymentRequestMapper {

    JxcFinancePaymentRequest selectByPrimaryKey(Long id);

    JxcFinancePaymentRequestExt selectBySid(String sid);

    int deleteByPrimaryKey(Long id);

    int insert(JxcFinancePaymentRequest record);

    int insertSelective(JxcFinancePaymentRequest record);

    int insertList(@Param("list") List<JxcFinancePaymentRequestExt> list);

    int updateByPrimaryKey(JxcFinancePaymentRequest record);

    int updateByPrimaryKeySelective(JxcFinancePaymentRequest record);

    int updateList(@Param("list") List<JxcFinancePaymentRequestExt> list);

    List<JxcFinancePaymentRequestExt> selectByEntity(JxcFinancePaymentRequestExt record);

    List<JxcFinancePaymentRequestExt> selectByPage(@Param("params") Map<String, Object> params, @Param("page") PageBean page);

    List<JxcFinancePaymentRequestExt> selectCount1Page(@Param("params") Map<String, Object> params, @Param("page") PageBean page);

    List<JxcFinancePaymentRequestExt> selectByParams(@Param("params") Map<String, Object> params);

    List<JxcFinancePaymentRequestExt> select4SaleByPage(@Param("params") Map<String, Object> params, @Param("page") PageBean page);

    List<JxcFinancePaymentRequestExt> select4BuyByPage(@Param("params") Map<String, Object> params, @Param("page") PageBean page);

    Integer selectDuplicatedCode(JxcFinancePaymentRequestExt record);

    JxcFinancePaymentRequestExt selectValidLatestRecord(JxcFinancePaymentRequestExt record);

    Date selectOldestDate(JxcFinancePaymentRequestExt record);
}